#ifndef PROCESSMASTER_H
#define PROCESSMASTER_H

//LIBRERIE OPENCV
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>

//LIBRERIE QT
#include <QtGui>

//LIBRERIE IMAGELAB
#include "proclib_SourceManager.h"
#include <imglib_ImageRGB.h>
#include <opencvsupport.h>

#include "utility.h"
typedef     vector<PointTime> (*FunctionMaster)(CImageRGB* frame);
class ProcessMaster : public QObject
{
    Q_OBJECT
    CSourceManager *_Master;
    std::vector<PointTime> _foundPoint;
    FunctionMaster _internalFunction;

public:
    ProcessMaster(CSourceManager *Master, FunctionMaster internalFunction);

public slots:
    void sl_produce(CImageRGB *frame);

signals:
    void sign_FoundPoint(vector<PointTime>*);
    void sign_finished(CImageRGB*);
};
#endif // PROCESSMASTER_H
